package com.xuerhua.yxt.dao;

import java.util.List;

import com.xuerhua.yxt.model.KccsStudentSign;
import com.xuerhua.yxt.page.Page;
import com.xuerhua.yxt.reqVo.BaseQueryVO;
import com.xuerhua.yxt.reqVo.KccsCourseQueryVO;
import com.xuerhua.yxt.reqVo.KccsStudentSignReqVO;
import com.xuerhua.yxt.view.KccsCourseStudentSignView;
import com.xuerhua.yxt.view.KccsCourseStudentSignedView;
import com.xuerhua.yxt.view.KccsStudentTotalView;

public interface KccsStudentSignMapper {

	int insertSelective(KccsStudentSign record);
    //批量插入报名信息
    int insertSign(KccsStudentSignReqVO reqVO);
    //取消报名
    int updateInvalidStudentSign(KccsStudentSignReqVO reqVO);
    
    KccsStudentSign selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(KccsStudentSign record);
    //查询班级学生报名列表
    List<KccsCourseStudentSignView> selectSignedListForClass(KccsCourseQueryVO vo);
    //查询班级学生未报名列表
    List<KccsCourseStudentSignView> selectNoSignListForClass(KccsCourseQueryVO vo);
    //查询学生报名列表
    KccsCourseStudentSignView selectSignedCourseForStudent(KccsCourseQueryVO vo);
    //查询学生未报名列表
    List<KccsCourseStudentSignView> selectSignListForParent(KccsCourseQueryVO vo);
    //查询课程报名数量
    int seletCountByCourseId(BaseQueryVO vo);
    //查询任教课程报名情况
    List<KccsCourseStudentSignView> selectSignListForTeachingByCourseId(KccsCourseQueryVO vo);
    //分页查询学员课程报名列表
    List<KccsCourseStudentSignedView> selectSignListByPage(Page<KccsCourseStudentSignedView> page);
    //查询课程学员统计
    List<KccsStudentTotalView> selectKccsStudentTotal(Page<KccsStudentTotalView> page);
    //批量插入报名
    int batchAddStudentSign(List<KccsStudentSign> list);
    int delByIds(List<String> list);
}